package com.gxa.activeMQ.repository;

import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import javax.jms.Queue;
import javax.jms.Topic;

@Repository
public class Producter {
    @Resource
    //执行向消息队列中生产消息(发布)的
    private JmsMessagingTemplate jmsMessagingTemplate = null;


    @Resource
    private Queue queue = null;

    @Resource
    private Topic topic = null;

    /**
     * 消息的生产者发布消息的方法,发布到队列中(一对一发送)
     * @param message 消息正文,所有消息都以字符串方式(对象json化)
     */
    public void sendQueue(String message){

//         Destination: 通过Topic或Queue对象来指定发送的目的地
        //convertAndSend 将消息正文转换为Message对象, 再发送
        jmsMessagingTemplate.convertAndSend(queue,message);
    }

    // 生产者在topic通道中发布消息(一对多)
    public void sendTopic(String message){
        jmsMessagingTemplate.convertAndSend(topic,message);
    }
}
